One increasingly popular form of networking may generally be referred to as remote presentation systems, which can use protocols such as Remote Desktop Protocol (RDP) and Independent Computing Architecture (ICA) to share a desktop and other applications executing on a server with a remote client. Such computing systems typically transmit the keyboard presses and mouse clicks or selections from the client to the server, relaying the screen updates back in the other direction over a network connection (e.g., the Internet). As such, the user has the experience as if his or her machine is operating entirely locally, when in reality the client device is only sent screenshots of the desktop or applications as they appear on the server side.
In such systems, the user graphics and video may be rendered at a server for each user. The resulting bitmaps may then be sent to the client for display and interaction. To reduce the bandwidth requirements on the network, bitmaps may be compressed and encoded before sending to the client. The encoding system may include a tiling system that initially divides source image data into data tiles. A frame differencing module may then output only altered data tiles to various processing modules that convert the altered data tiles into corresponding tile components.